Executing Quantified Expressions in the JML Run
نویسنده
چکیده
Modern software development projects are extremely complex and often involve millions of lines of code. Using the Java Modeling Language (JML) can substantially reduce bugs and errors in software implemented in Java. The JML tool from Iowa State has many features, including static checking and run-time assertion checking of preconditions. However, the runtime assertion checking lacks the ability to check quantified expressions in JML. This paper describes the extension of the assertion checker to support quantified expressions.
منابع مشابه
Reasoning About Method Calls in JML Specifications
The Java Modeling Language, JML, is an interface specification language that uses side-effect free Java expressions to describe program behavior. In particular, JML specifications can contain calls to side-effect free methods. To verify programs w.r.t. JML specifications, JML expressions have to be encoded in a program logic. This encoding is non-trivial for method calls. In this paper, we illu...
متن کاملjmle: A Tool for Executing JML Specifications Via Constraint Programming
Formal specifications are more useful and easier to develop if they are executable. In this work, we describe a system for executing specifications written in the Java Modeling Language (JML) by translating them to constraint programs, which are then executed via the Java Constraint Kit (JCK). Our system can execute specifications written at a high level of abstraction, and the generated constr...
متن کاملHow the Design of JML Accomodates Both Runtime Assertion Checking and Formal Verification
Specifications that are used in detailed design and in the documentation of existing code are primarily written and read by programmers. However, most formal specification languages either make heavy use of symbolic mathematical operators, which discourages use by programmers, or limit assertions to expressions of the underlying programming language, which makes it difficult to write complete s...
متن کاملHow the Design of JML Accommodates Both Runtime Assertion Checking and Formal Verification
Specifications that are used in detailed design and in the documentation of existing code are primarily written and read by programmers. However, most formal specification languages either make heavy use of symbolic mathematical operators, which discourages use by programmers, or limit assertions to expressions of the underlying programming language, which makes it difficult to write complete s...
متن کاملJML Support for Primitive Arbitrary Precision Numeric Types: Definition and Semantics
The Java Modeling Language, JML, is a notation for specifying and describing the detailed design and implementation of Java modules. It is a model-based specification language offering, in particular, method specification by preand post-condition, and class invariants to document required module behavior. It has recently been noted that the JML semantics of expressions over numeric types do not...
متن کامل